home *** CD-ROM | disk | FTP | other *** search
/ Komputer for Alle 1999 #5 / 1999 CD 5 (black).iso / Delphi3 / install / data.z / AUTOFORM.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1997-08-05  |  2.5 KB  |  118 lines

  1. { Important Note:
  2.  
  3.   Before running this AutoDemo application,
  4.   make sure that the MemoEdit application has
  5.   been registered using a "MemoEdit /regserver"
  6.   command line. }
  7.  
  8. unit AutoForm;
  9.  
  10. interface
  11.  
  12. uses
  13.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  14.   StdCtrls, Memo_TLB;
  15.  
  16. type
  17.   TMainForm = class(TForm)
  18.     CreateButton: TButton;
  19.     AddTextButton: TButton;
  20.     TileButton: TButton;
  21.     CascadeButton: TButton;
  22.     CloseButton: TButton;
  23.     ExitButton: TButton;
  24.     procedure FormCreate(Sender: TObject);
  25.     procedure FormDestroy(Sender: TObject);
  26.     procedure CreateButtonClick(Sender: TObject);
  27.     procedure AddTextButtonClick(Sender: TObject);
  28.     procedure TileButtonClick(Sender: TObject);
  29.     procedure CascadeButtonClick(Sender: TObject);
  30.     procedure CloseButtonClick(Sender: TObject);
  31.     procedure ExitButtonClick(Sender: TObject);
  32.   private
  33.     MemoEdit: IMemoApp;
  34.     Memos: array[1..3] of OleVariant;
  35.     procedure CloseMemos;
  36.   end;
  37.  
  38. var
  39.   MainForm: TMainForm;
  40.  
  41. implementation
  42.  
  43. {$R *.DFM}
  44.  
  45. uses ComObj;
  46.  
  47. procedure TMainForm.FormCreate(Sender: TObject);
  48. begin
  49.   try
  50.     MemoEdit := CoMemoApp.Create;
  51.   except
  52.     MessageDlg(
  53.       'An instance of the "MemoApp.Application" OLE Automation class ' +
  54.       'could not be created. Make sure that the MemoEdit application has ' +
  55.       'been registered using a "MemoEdit /regserver" command line.',
  56.       mtError, [mbOk], 0);
  57.     Halt;
  58.   end;
  59. end;
  60.  
  61. procedure TMainForm.FormDestroy(Sender: TObject);
  62. begin
  63.   CloseMemos;
  64. end;
  65.  
  66. procedure TMainForm.CloseMemos;
  67. var
  68.   I: Integer;
  69. begin
  70.   for I := 1 to 3 do
  71.     if not VarIsEmpty(Memos[I]) then
  72.     begin
  73.       Memos[I].Close;
  74.       Memos[I] := Unassigned;
  75.     end;
  76. end;
  77.  
  78. procedure TMainForm.CreateButtonClick(Sender: TObject);
  79. var
  80.   I: Integer;
  81. begin
  82.   CloseMemos;
  83.   for I := 1 to 3 do Memos[I] := MemoEdit.NewMemo;
  84. end;
  85.  
  86. procedure TMainForm.AddTextButtonClick(Sender: TObject);
  87. var
  88.   I: Integer;
  89. begin
  90.   for I := 1 to 3 do
  91.     if not VarIsEmpty(Memos[I]) then
  92.       Memos[I].Insert('This text was added through OLE Automation'#13#10);
  93. end;
  94.  
  95. procedure TMainForm.TileButtonClick(Sender: TObject);
  96. begin
  97.   if MemoEdit <> nil then
  98.     MemoEdit.TileWindows;
  99. end;
  100.  
  101. procedure TMainForm.CascadeButtonClick(Sender: TObject);
  102. begin
  103.   if MemoEdit <> nil then
  104.     MemoEdit.CascadeWindows;
  105. end;
  106.  
  107. procedure TMainForm.CloseButtonClick(Sender: TObject);
  108. begin
  109.   CloseMemos;
  110. end;
  111.  
  112. procedure TMainForm.ExitButtonClick(Sender: TObject);
  113. begin
  114.   Close;
  115. end;
  116.  
  117. end.
  118.